datum/preferences
	//The mob should have a gender you want before running this proc. Will run fine without H
	proc/random_character(gender_override)
		if(gender_override)
			gender = gender_override
		else
			gender = pick(MALE,FEMALE)
		underwear = random_underwear(gender)
		s_tone = random_short_color()
		h_style = random_hair_style(gender)
		f_style = random_facial_hair_style(gender)
		h_color = random_short_color()
		f_color = h_color
		eye_color = random_eye_color()
		backbag = 2
		age = rand(AGE_MIN,AGE_MAX)

/*	proc/update_preview_icon()		//seriously. This is horrendous.
		del(preview_icon_front)
		del(preview_icon_side)
		var/icon/preview_icon = null

		var/color = s_tone
		if(color)
			color = "#" + color

		var/g = "m"
		if(gender == FEMALE)	g = "f"

		preview_icon = new var/icon/('icons/mob/human.dmi', "body_[g]_s")

		// Skin tone
		preview_icon.Blend(color, ICON_MULTIPLY)

		if(underwear)
			var/datum/sprite_accessory/underwear/U = underwear_all[underwear]
			if(U)
				preview_icon.Blend(new /icon(U.icon, "[U.icon_state]_s"), ICON_OVERLAY)

		var/icon/eyes_s = new/icon("icon" = 'icons/mob/human_face.dmi', "icon_state" = "eyes_s")
		eyes_s.Blend("#[eye_color]", ICON_ADD)

		var/datum/sprite_accessory/hair_style = hair_styles_list[h_style]
		if(hair_style)
			var/icon/hair_s = new/icon("icon" = hair_style.icon, "icon_state" = "[hair_style.icon_state]_s")
			hair_s.Blend("#[h_color]", ICON_ADD)
			eyes_s.Blend(hair_s, ICON_OVERLAY)

		var/datum/sprite_accessory/facial_hair_style = facial_hair_styles_list[f_style]
		if(facial_hair_style)
			var/icon/facial_s = new/icon("icon" = facial_hair_style.icon, "icon_state" = "[facial_hair_style.icon_state]_s")
			facial_s.Blend("#[f_color]", ICON_ADD)
			eyes_s.Blend(facial_s, ICON_OVERLAY)

		preview_icon.Blend(eyes_s, ICON_OVERLAY)
		preview_icon_front = new(preview_icon, dir = SOUTH)
		preview_icon_side = new(preview_icon, dir = WEST)

		del(preview_icon)
		del(eyes_s)*/